Context-aware and real-time tracking

ABSTRACT

Methods and apparatus, including computer program products, for context-aware and real-time tracking of articles. In one aspect, a method includes: receiving multiple instances of tag-read-data, each instance including information read automatically from a tag bound to an article, each instance also including status information including a location of the tag and article; receiving one or more instances of context information, each instance describing an associated non-taggable physical circumstance, the context information indicating a status including a location of the circumstance, the multiple instances of context information collectively including information describing multiple circumstances; using the received tag-read-data and context information to maintain physical objects and context objects in a virtual world, the physical objects representing the articles and the context objects representing the circumstances; and detecting interactions in the virtual world between the circumstances and the articles.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit of U.S. ProvisionalApplication No. 60/347,672, filed on Jan. 11, 2002.

BACKGROUND OF THE INVENTION

[0002] The present invention relates to tracking taggable objects.

[0003] A conventional system for tracking tangible objects usuallyincludes computing devices and software. Such systems maintaininformation that indicates the status, such as a current location, of anobject being tracked. This can be thought of as a virtual world.

[0004] With conventional systems, there can easily be a discrepancybetween the actual status of the object and the status as indicated bythe system Discrepancies are often caused by flawed manual data inputand system limitations. As a result of such problems, conventionalsystems can have a distorted and fragmented picture of reality. Inaddition, most conventional systems see with a very limited scope andresolution, for example, systems that can only distinguish betweenproduct classes and quantities and not between individual items.

SUMMARY OF THE INVENTION

[0005] This specification describes methods and apparatus, includingcomputer program products, for context-aware and real-time tracking oftagged articles.

[0006] The word ‘article’ is used in this specification to refer to areal, tangible object, so as to avoid ambiguity from use of the word‘object’, which will in the following text be used only to refer to adata processing construct. The word article will further be limited toreal things that are amenable to being tagged with a tag that can beread by some device.

[0007] In general, in one aspect, the invention features systems andmethods, and components configured to perform aspects of the methods,for tracking articles. A system in accordance with the inventionincludes a tagging component that includes information specifyingstandards for tagging one or more articles with tags, each tag includinga globally unique identifier; an object interface component thatincludes devices for communicating with the tags and that furtherincludes devices for receiving context information; a context-awareintelligence that includes logic for processing context information andlogic specifying actions for the system to perform in response to thecontext information; and a communication middleware component forcommunication between and among the components of the system and forcommunicating with devices external to the system.

[0008] In general, in another aspect, the invention features systems andmethods, and components configured to perform aspects of the methods,for context-aware and real-time tracking of articles. A method inaccordance with this aspect performs the actions of receiving multipleinstances of tag-read-data, each instance including information readfrom a tag bound to an article, the information read including a uniquedigital identifier read automatically from the tag, each instance alsoincluding status information including a location of the correspondingtag and its bound article when the unique identifier was read from thetag, the multiple instances of tag-read-data collectively includinginformation read from tags bound to multiple articles; receiving one ormore instances of context information, each instance describing anassociated non-taggable physical circumstance, the context informationindicating a status including a location of the circumstance, themultiple instances of context information collectively includinginformation describing multiple circumstances; using the receivedtag-read-data and context information to maintain physical objects andcontext objects in a virtual world, the physical objects including anobject for each of the multiple articles and the context objectsincluding an object for each of the multiple circumstances, each of theobjects representing the status of its corresponding article orcircumstance; and detecting interactions occurring in the virtual worldbetween the circumstances and the articles as represented by theobjects.

[0009] Advantageous implementations can have one or more of thefollowing features. The information in the virtual world about thearticles and circumstances is mapped to virtual-world-wide standardizeddimensions of time, three-dimensional space, and unique identity,whereby the articles and circumstances can be tracked relative to eachother through space and time. The method also generates an alert for auser of the virtual world whenever a detected interaction is determinedto affect any of the multiple articles, where the user is a human beingor a computer program. The method also maintains in the virtual world arepresentation of a current location of each of the articles and arepresentation of a current location of each of the circumstances, therepresentations each reflecting most recently received tag-read-data andcontext information. The method also represents locations andcircumstances by latitudes, longitudes, and altitudes. The method alsomaintains a history of the locations of articles and a history of thelocations of the circumstances. The method also derives a predictionfrom the virtual world of a future location of at least one of thearticles based on the history of the locations of articles. The methodalso derives the prediction of the future location also based on thehistory of the locations of the circumstances. The method also maintainsin the virtual world a representation of a current state of each of thearticles and a representation of a current state of each of thecircumstances, the representations each reflecting most recentlyreceived tag-read-data and context information. The method alsomaintains a history of the states of articles and a history of thestates of the circumstances. The method also derives a prediction fromthe virtual world of a future state for at least one of the articlesbased on the history of the states of articles. The method also derivesthe prediction of the future state also based on the history of thestates of the circumstances. The method also associates time stamps witheach instance of tag-read-data and context information, each time stampbeing synchronized to a single standard. The non-taggable circumstancesinclude a weather-related circumstance; and the location of theweather-related circumstance is described by at least a latitude,longitude, and altitude. The non-taggable circumstances include atraffic accident; and the location of the traffic accident is describedby at least a latitude, longitude, and altitude. The method alsoreceives one or more instances of hierarchy information, each instancedescribing a hierarchy among articles represented in the virtual world;and uses the received hierarchy information to maintain in the virtualworld context objects each representing one of the hierarchies. At leastone of the hierarchies is a relationship among articles in which someparticular articles are contained within another article. The methodalso receives sensor information obtained from a sensor associated witha first article; and updates a first physical object for the firstarticle with the sensor information. The method also receives instancesof context information from external systems. The method also receivesinstances of context information, where the instances include telemetrydata from a sensor associated with a particular location. The methodalso receives telemetry data generated by a sensor associated with aparticular point or area and representing a circumstance located at theparticular point or area; and generates an alert for a user of thevirtual world when the virtual world detects that an article that wouldbe affected by the circumstance represented by the telemetry data is ator in the point or area, as represented in the virtual world, where theuser is a human being or a computer program. The method also receivestemperature data generated by a temperature sensor associated with aparticular point or area and representing the current temperature of thepoint or area in a context object in the virtual world; and generates analert for a user of the virtual world when the virtual world detectsthat an article that would be affected by the current temperature is ator in the point or area, as the article and current temperature arerepresented in the virtual world, where the user is a human being or acomputer program. The method also attaches a temperature exception to aphysical object, and causes an action to occur when the temperatureexception is satisfied. The action comprises generating an alert for auser, where the user is a human being or a computer program. The methodalso attaches a rule to a physical object, the rule being operable totrigger alert events or cause actions depending on current informationin the virtual world. The method also attaches a rule to a contextobject, the rule being operable to trigger alert events or cause actionsdepending on current information in the virtual world. The method alsoreceives, processes, and responds to a query concerning the status of anarticle at a current or past time as the article is or was representedin the virtual world. The method also receives, processes, and respondsto a query concerning the status of articles having a particularrelationship to a particular article at a current or past time as thearticles and particular article are or were represented in the virtualworld.

[0010] The invention can be implemented to realize one or more of thefollowing advantages. A system in accordance with the invention can beaware of a virtually unlimited number of articles as well as of otherthings in the real world and relationships between and among articlesand other things. The system can be implemented at a wide range ofscales. The architecture of the system is easy to work with and can beput to a wide variety of applications simultaneously. The architecturesupports the tracking of pretty much anything as an article or as acircumstance that influences an article. Similarly, the architecturepermits every kind of attribute to be associated with a tracked articleor circumstance. Hierarchical and other relationships can be definedbetween or among tracked things and used for tracking things in therelationships. The architecture is open to any kinds of data sources,including all kinds of sensors and scanners, as well as systems thatprovide circumstantial information, for example, weather, trafficconditions, transportation schedules such as air and rail schedules,time of arrival data, and so on. The system provides a generic andintelligent glue between the real world and a virtual world that can beused to provide context-aware and real-time tracking of articles.

[0011] The system inherently integrates context-aware intelligence. Suchintelligence enables the system to know which geospatial events willaffect which of the articles being tracked and take action in responseto such events. The system can provide dynamic context-awareintelligence with generic geospatial abilities. Based on available dataand telemetry, the system can understand where, how, and what articlesare at a specific time in relation to each other and, furthermore,invoke actions according to defined rules.

[0012] The system can be integrated with existing software and hardwaresystems using non-proprietary, open interfaces. With such interfaces,the system is compatible with existing systems without the need forplug-ins or upgrades into the existing systems. For example, the systemcan provide non-proprietary, open interfaces to integrate virtuallyevery kind of tag, tag reader, scanner, sensor, and application. Thesystem can be implemented to include applications that can genericallyread data from, and write data to, article tags. The system can includegeneric tracking of real-time telemetry. The system can integrateexisting Geographical Information Systems (“GIS”) and data.

[0013] The system supports development of a whole range of new orenhanced applications across industries. Such applications include andare not limited to those relating to supply chain management, assettracking and management, security and access control, transportation,toll collection, point of sale, and baggage handling.

[0014] The system is scalable from a local to a global level. That is,the system can be implemented to support a business unit, a singlecompany, or a group of companies, in one or more industries. The systemcan track articles and circumstances in real time. The system canprovide current and past state of articles or groups of articles and cando so remotely, for example, through wireless communication or through anetwork such as the Internet.

[0015] Through a variety of initiatives, in the future a large number ofarticles of all kinds will be uniquely tagged and identifiable globally,in many cases through automatically operating sensors. The system canoperate across industries and companies to provide smart,enterprise-level article tracking solutions. The system provides open,generic, and configurable business methods that can be applied acrossmultiple industries and applications. The business methods allowcustomers to define generically and introduce virtual representations ofarticles to a software system over a network, attach rules that invokeactions based on dynamic context data, and query the system for amultitude of attributes related to, or derived from, the present andpast contexts of the tracked objects. Tracking data can be shared amongpartners based on field-level authentication definitions.

[0016] The system is accessible to users and external applicationsthrough non-proprietary interfaces, e.g., Web browsers orself-describing documents such as XML (Extensible Markup Language)documents. The system can track a large number of uniquely taggedarticles and their telemetry data, if any, through time and space. Thesystem provides open, non-proprietary interfaces for sensors, devices,and services that track and provide the location of, and/or telemetrydata from, articles or their environment to the system. The system alsoprovides open, non-proprietary interfaces for sensors, devices, andservices that write data to physical articles or their tags that canreceive such data. The system provides user interfaces, applicationinterfaces, and tools to define virtual representations of uniquelytagged articles and hierarchies of them, including specific attributesand methods; to define rules that can invoke actions based on dynamiccontext data known to the system; to define virtual representations ofphysical constraints or other influences that can affect articles; todefine sophisticated data access filter settings on an attribute levelof data objects representing articles and other real-world things; toquery the system for, and to visualize, a multitude of characteristicrelated to, or derived from, the present and past contexts of thetracked articles; and to share article-related data between or amongpartners over a network.

[0017] The system can be used by diverse entities for their ownpurposes, and each entity can make part or all of the information aboutits tagged articles, its data input devices, and its trackedcircumstances visible to other entities using the system. The otherentities can use this information and get the benefit of the experienceand history of the entire community of users of the system, regardlessof the purposes for which the information was originally gathered orprovided, and without requiring in any respect that the future uses andbenefits of the various contributions, or their advantageousinteractions, be contemplated at the time the contributions are made.

[0018] The details of one or more embodiments of the invention are setforth in the accompanying drawings and the description below. Otherfeatures and advantages of the invention will become apparent from thedescription, the drawings, and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

[0019]FIG. 1 shows a system in accordance with the invention.

[0020]FIG. 2 shows an example of a unique identification code inaccordance with the invention.

[0021]FIG. 3 shows one implementation of the invention.

[0022]FIG. 4 illustrates an article object introduction process inaccordance with the invention.

[0023]FIG. 5 illustrates the operation of a temperature sensor deviceand an RFID tag in accordance with the invention.

[0024]FIG. 6 provides an example of the system's response to an eventsuch as the loading of boxes onto a pallet.

[0025]FIG. 7 illustrates an update operation in accordance with theinvention.

[0026]FIG. 8 illustrates update, reading, and alert operations inaccordance with the invention.

[0027]FIG. 9 illustrates a feed operation in accordance with theinvention.

[0028] Like reference numbers and designations in the various drawingsindicate like elements.

DETAILED DESCRIPTION

[0029] A System for Real-Time and Context-Aware Tracking

[0030] A system in accordance with the invention receives information inan open, non-proprietary form, concerning articles and circumstancesaffecting articles. This information becomes physical objects andcontext objects, and their attributes, in the system.

[0031] In this specification, the term ‘physical object’ will be used torefer to data that corresponds to and is used as a representation of anyarticle. In any particular implementation, a physical object can beimplemented as an object in the object-oriented programming sense of theterm; however, it can also be implemented in any other convenient way,for example, by a record in a database. Similarly, the term ‘contextobject’ will be used to refer to data that corresponds to and is used asa representation of tangible and intangible things, including, by way ofexample, relationships and events. Generally, context objects arecreated and maintained because they represent something—which maygenerically be called a circumstance—that has the potential of affectingan article represented by a physical object. One example ofcircumstances are geospatial events, which can include, for example,hurricanes which can impede the transit of a transport ship carrying thearticles being tracked, a labor strike which can prevent the unloadingof the articles from the transport ship, and a traffic accident whichcan delay delivery of the articles. The term hierarchies refers toassociations or relationships between and among articles andcircumstances. For example, given a can in a pallet of cans, events thataffect the pallet also affect the can. Context objects can representhierarchies.

[0032] The system receives information from a variety of sources, whichcan be coupled to the system through a network such as the Internet ordirectly. The system can be configured to receive information fromsources with proprietary or non-open interfaces, in which case theformat of the information is converted to be compatible with the system.The system includes data input devices, for example, tag readers,sensors, and scanners. Through such devices, the system can continuouslytrack and log the state of the articles and circumstances represented byphysical and context objects. The state of an article can includes itsstatus, attributes, and location.

[0033] As shown in FIG. 1, a context-aware and real-time tracking systemin accordance with the invention can be implemented with a TaggingComponent (“TC”) 102, an Object Interface Component (“OIC”) 104, aCommunication Middleware Component (“CMC”) 106, a Context-AwareIntelligence Component (“CAIC”) 108, and a Human Interface Component(“HIC”) 110. In an alternative implementation, the HIC 110 is integratedwith the other components. Each of these components can be implementedas computer programs executing on one or more computers and controllingdevices performing data acquisition, output, and transmission functions.FIG. 1 also shows communication flows (represented by arrows) betweenand among the components of the context-aware and real-time trackingsystem as well as between the system and external applications 112,external marketplaces 114, and other, external context-aware andreal-time tracking systems 116. The communication flows can beimplemented in any convenient, open fashion, such as through theexchange of XML documents.

[0034] The components are arranged in a distributed, real-time, andevent-based architecture. Each or all components or any combination ofthe system's components can be implemented on a micro up to a macrolevel. Micro level implementation refers to implementation on a singledevice and macro level implementation refers to implementation onmultiple devices such as computers in a network. Each component can bedistributed across multiple devices, including computers, that areinterconnected by a network. Each component can be made up of, that is,implemented as, multiple different applications, which in the aggregateperform the functions of the component. The described componentarchitecture allows the system to group and scale functionality from alocal to a global level while assuring that hardware and software can bereadily integrating using non-proprietary, standard interfaces.

[0035] A component can include software systems—which includes anysoftware, applications, computer program products—and related devices.For example, a software system can be applications and servers operatingon an enterprise-level. Communication between or among software systemscan take place through a communications network. The components exposenon-proprietary, open interfaces for services that are accessiblethrough a network, such as one based on open standards like XML overHTTP. The following text further describes the components.

[0036] Tagging Component

[0037] Articles introduced to the system are tagged with a uniqueidentifier by any available article-level tagging technology, forexample, active and passive Radio Frequency Identification (“RFID”)tags, barcodes, and tags that can be applied on a molecular basis.

[0038] When the system first becomes aware of an article orcircumstance, it will be said to be introduced to the system; and acorresponding object is created. This physical or context object willalso be said to be introduced to the system, and it will be referred toas an “introduced object.” The system assigns a specific dynamicn-dimensional context and attribute space to introduced objects. Forexample, the system can assign owner, price, lot number, and temperatureto an introduced object. Optionally, the system attaches specific rulesto the introduced objects. For example, the system can attach a rulespecifying that if the temperature of the corresponding article reacheslevel y, then cause action z.

[0039] The TC 102 of a particular implementation specifies in an openway which tagging technologies can be used with the system and how theyare used. The TC 102 includes a distributed knowledge system based onInternet technology. Specifically, the TC 102 generally will include andprovide a specification of the globally unique identifier and how toapply it; catalogues describing the specifications of compliant tags,their reader/writer hardware and all aspects concerning their use;specific standards and laws that apply to the tagging of articles;specifications of standardized communication and context data formatsand interfaces; specifications of read and write processes, processingand transmission requirements for active tags, and telemetry dataspecifications; best industry practices, that is, knowledge relating toselection and deployment of tags and tag content; security andauthorization requirements and standards; benchmarks; implementationguides; and frequently asked questions.

[0040] In addition, the TC 102 can provide tools, content, softwaredevelopment kits, and applications that enable manufacturers, systemintegrators, and customers to identify, validate, and implement optimalarticle-tag-reader/writer combinations and standards for specificscenarios. The TC 102 can be built with any software developmentenvironment to fulfill the above-mentioned requirements.

[0041] Object Interface Component

[0042] The OIC 104 transforms data from attached hardware to the systemand vice versa. The OIC 104 can also perform any required localprocessing.

[0043] The OIC 104 is a sophisticated, generic, bidirectional, and smartsoftware interface between the system and the real world. Here, physicalobjects and context objects are introduced to the system and theirstatus and telemetry data are received, filtered, transformed,pre-processed, and processed as necessary. Because physical objects andcontext objects can be implemented to carry rules that can trigger alertevents or cause actions depending on current context or status data, theOIC 104 can be implemented to embed or link to a rule engine to processthese kinds of rules. By customizing the OIC 104, customers can specifywhat the OIC 104 should do if one of the customer's tag readers detectsan article tag—which will have an identifier that the system can map toa unique system identifier (“UID”)—for the first time. Such actions caninclude communication with external applications, for example, ERP(Enterprise Resource Planning) applications.

[0044] The OIC 104 also generically specifies and validates how taginterface hardware, for example, RFID readers, barcode scanners, polymertag readers, and sensors, and its operating software communicate withthe system. Consequently, the OIC 104 acts as a generic software wrapperaround all tag-specific read/write devices, which provides standardizedintegration; data validation, filtering, and transformation;bidirectional, event-based secure communication; and datapre-processing.

[0045] Because the OIC 104 is not only able to receive data but also cansend data to hardware and software attached to the system, andultimately to the tagged articles themselves, the system can use the OICto write data to such articles or control them remotely, if they areconfigured for such control.

[0046] The OIC 104 can apply and enforce a sophisticated security schemefor all inbound and outbound communication, for example, one based ondigital certificates. The OIC 104 can be built with any softwaredevelopment environment that fulfills the above-mentioned requirements.

[0047] Communication Middleware Component

[0048] The components communicate by sending and receiving standardizedevents, which the components can send and receive through a network. TheCMC 106 validates and routes standardized events between the OIC 104 andthe CAIC 108 (which will be described below) and, in general, between oramong any of the system components. The CMC 106 can also validate androute standardized events between or among any of the system componentsand other applications, devices, and components.

[0049] The CMC 106 performs functions such as data and authenticationvalidation, storage and retrieving, archiving, datadecryption/encryption, and multicasting of events. The CMC 106 can applyand enforce a sophisticated security scheme for all inbound and outboundcommunication, e.g., one based on digital certificates. The CMC 106 canbe built with any software development environment that fulfills theabove-mentioned requirements.

[0050] Context-Aware Intelligence Component

[0051] The CAIC 108 includes logic that provides the intelligence forthe system to receive, process, and respond to queries concerning what,where, and how tagged articles represented by introduced objects are,were, or will be at a specific time in relation to each other or inrelation to features of the real world. The CAIC 108 offers openinternal and external interfaces to plug-in additional features such asapplications and rules, extending its generic set of services.

[0052] As mentioned earlier, the system can include context objects thatrepresent events that potentially can affect articles. Examples of suchevents include hurricanes, points or areas of high temperatures, andslow traffic. Context objects can also describe a specific relationshipbetween or among articles. Context objects can also describe attributesof articles. Examples of attributes include a geospatial route, avelocity, and a destination. Telemetry readings of sensors can also beintroduced as context objects.

[0053] The CAIC 108 includes a database that allows the system to storeand retrieve the current state of introduced objects as well as thehistory of state changes of these objects. This database can processgeospatial data and can be distributed over multiple computers andmultiple sites.

[0054] The CAIC 108 can apply and enforce a sophisticated securityscheme, such as one based on digital certificates, for all inbound andoutbound communications. The CAIC 108 can be built with any softwaredevelopment environment that fulfills the above-mentioned requirements.

[0055] Human Interface Component

[0056] The HIC 110 generically integrates a multitude of technologiessuited to allow human beings easy access to and control of the system.These technologies include, e.g., HTML or XML-based, voice controlled,stylus controlled and multi-modal human interfaces including all kindsof data visualization technologies and the like. The HIC 110 separatesthe application and infrastructure layer from the representation andhuman interaction layer.

[0057] The HIC 110 can apply and enforce a sophisticated securityscheme, such as one based on digital certificates, for all inbound andoutbound communication. The HIC 110 can be built with any softwaredevelopment environment that fulfills the above-mentioned requirements.

[0058] Operation

[0059] Introducing Objects to the System

[0060] In operation, physical and context objects can be introduced tothe system using standardized parameterized events that include at leasta system UID. Additionally, specific attributes, methods, and rules canbe attached to the introduced object (e.g., current temperature, currentowner, manufacturer, temperature exceptions, alerts, rules, data access,and authority specifications).

[0061] Unique Identifier

[0062] The system maps all introduced objects to a system UID. For thesystem to be able to scale from a local to a global level and alsointegrate satisfactorily with other systems, this identifier should beglobally unique. If the referent of the object has a tag with anidentifier that is globally unique, that identifier can be—but need notbe—used as the UID. One such unique identifier is the Electronic ProductCode (ePC) of the MIT (Massachusetts institute of Technology) AutoIDCenter. FIG. 2 illustrates the format of the ePC.

[0063] The system can partition the UID to enhance search performance.

[0064] One way of uniquely tagging articles is to attach RFID chips tothem. These electronic chips hold at least a relatively uniqueidentifier that can be read by specific reader devices. Moresophisticated chips feature dynamic data storage with externalread/write abilities and smart chips include built-in processing power.One advantage of RFID technology is the ability to automaticallyidentify a multitude of articles over a distance without the need todisassemble or unpack them. Alternatively, the system can use othertechnologies, such as item-level bar codes, magnetic tags, and polymertags, to tag physical objects with identifiers that can be mapped to asystem UID.

[0065] Events

[0066] The system communicates internally and externally by usingevents. Table 1 provides an example an XML document representing such anevent. Any convenient form of representing events can be used. TABLE 1<event> <type>SEEN_OBJECT</type> <parameters> <sender><UID>xx.xxxxxxx.xxxxxx.xxxxxxxxx</UID> <type>RFID_READER</type></sender> <telemetry> <UID>xx.xxxxxxx.xxxxxx.xxxxxxxxy</UID><temperature> <unit>C</unit> <value>45.43</value> </temperature></telemetry> </parameters> </event>

[0067] Time, Space, Unique Identity, Context, Hierarchy

[0068] The system maps every introduced object to system-widestandardized dimensions of time, space (3-D), unique identity (UID), andcontext. The system saves input data with system-wide synchronized timestamps. Space refers to everything from a point (pure location) to acomplex three-dimensional polyhedron in a three-dimensional space(representing, e.g., location, size, and shape of an article). Contextcan be n-dimensional (representing, e.g., attributes such astemperature, velocity, and weight).

[0069] Each dimension is measured in system-wide standard units, e.g.,units based on international standards like Coordinated Universal Time(“UTC”), and the International System of Units (“SI”).

[0070] Because time and space are universal dimensions, the system'score space is compatible with all other systems, such as GIS, that alsowork in these dimensions or subsets of them. Introduced objects can bepart of dynamic hierarchies. Hierarchies can be described by contextobjects.

[0071] Based on internal or external event data, the system tracks andlogs the state of articles represented by introduced objects within theabove-described space. It is then able to answer questions or providealerts about the state of, and relationships between, introduced objectsin that space, such as:

[0072] Where was article (UID) on Dec. 12, 2001?

[0073] Where are all articles (UID) of type x within a radius of y ofaddress z?

[0074] Which of my supplies are affected by tropical storm x?

[0075] Where are the nearest spare parts for asset x and how fast couldthey be delivered to plant y?

[0076] Where are all delivered products with lot number x right now?

[0077] Where is the nearest demand for my products x with an expirationdate before y?

[0078] Alert! Chemical assets x and y are stored too close to eachother.

[0079] Alert! Employee x is not allowed to carry laptop y out ofbuilding z.

[0080] Based on historical data, statistical or other methods, thesystem can also derive the future state or behavior of introducedobjects or groups of them.

[0081] Direct or Derived Location Data

[0082] The location of articles can be described to the system in avariety of ways. An example for a direct description is a latitude,longitude, and altitude data set configured in a standard way.

[0083] An example for a derived location description is the streetaddress of a facility where a tag reader is located. The system maps thestreet address of the tag reader to the system's standard coordinatesystem, assumes that the article (as represented by its UID) encounteredby the tag reader is near the tag reader, and associates the reader'slocation with the article's location.

[0084] Object-Level Data Access Authorization Model

[0085] The object model may include a UID, attributes, and a definitionof which system users have read/write/change authorities of whichattributes, methods, and rules. The system assigns to each of its usersa globally unique identifier, which may be based on the ElectronicProduct Code (ePC), the EPC Manager part of the ePC, or the like.

[0086] Depending on the assigned authorization and using standardizedparameterized events, system users write, read, and change data ofintroduced objects. Object data access is dependent on definedauthorization settings. Table 2 provides an example an XML documentrepresenting a physical object implementing the described authorizationmodel. This is just an example, however, and any convenientrepresentation can be used. TABLE 2 <physical_object><UID>xx.xxxxxxx.xxxxxx.xxxxxxxxx</UID> <current_owner><OUID>xxxxxxx</OUID> <change_authorization> <OUID>xxxxxxx</OUID></change_authorization> </current_owner> <price> <unit>USD</unit><value>230000</value> <read_authorization> <OUID>xxxxxxx</OUID><OUID>yyyyyyy</OUID> <OUID>zzzzzzz</OUID> </read_authorization><write_authorization> <OUID>xxxxxxx</OUID> </write_authorization><change_authorization> <OUID>xxxxxxx</OUID> </change_authorization></price> </physical_object>

[0087] Communication Security Scheme

[0088] The system includes a generic authentication and security scheme(such as one based on digital certificates and encryption) forcommunication with and between the components and for communication toother systems and external devices.

[0089] Applications of the System

[0090] One application of the system will now be described in which thesystem tracks and logs location and temperature of high quality fishproducts that a Shipper Y is transporting from a Manufacturer X to aRetailer Z.

[0091] The following generally describes how the system accomplishes thedescribed functions. Manufacturer X boxes the products and attaches aRFID tag to each box. The RFID tag includes a UID and, in addition, canstore an expiration date, a maximum temperature threshold, and a maximumencountered temperature reading (T_(max)). Manufacturer X loads theboxes on pallets and attaches an active, recyclable temperature-sensordevice to each pallet. Alternatively, and at greater expense, such asensor could be attached to each box. These devices have an RFID tagattached that includes a UID and, in addition, can store temperaturereadings and a maximum encountered temperature reading (T_(max)). Thedevices periodically measure the current temperature and store thereadings on their attached RFID tag. Alerts are triggered whentemperature exceeds a specific threshold. Upon arrival at the retailer,updated expiration dates and maximum encountered temperature data basedon the temperature history logs of the sensor devices is written to theRFID tags of each box.

[0092] Manufacturer X wants to decrease the number of boxes rejected byRetailer Z (“rejects”) for which Shipper Y is to be held responsible,for example, boxes exposed to high temperatures during shipping. ShipperY wants to gain market share by providing better customer satisfactionby ensuring full visibility of the current location and temperature ofshipments. In addition, Shipper Y wants to detect quality problems andtheft caused by contractors. Retailer Z wants to be able to identify andreject spoiled products upon arrival and, thus, cut costs by decreasingreturns while, at the same time, achieve higher customer satisfaction.

[0093] The following describes in detail how the system helps each partyachieve its goals. FIG. 3 illustrates one implementation in whichManufacturer X, Shipper Y, and Retailer Z procure and implement a localinstallation of the Object Interface Component (OIC) 34 x, 34 y, 34 z ofthe system behind their respective firewalls 33 x, 33 y, 33 z. Inaddition, they jointly use the Tagging Component (TC) 32, CommunicationMiddleware Component (CMC) 36, Context-Aware intelligence Component(CAIC) 37 and Human Interface Component (HIC) 38 of an externalapplication service provider, who provides these services through anetwork such as the Internet. Alternatively, each party can subscribe toan implementation of the system which is provided by a service provider.In this latter case, each party need not procure and install an OIC. Inyet an another alternative, one or more of the parties can install allfive component of the system for use by all of them. In this case, theparties need not subscribe to a service provider; their CMCs cancommunicate by sending events over a network such as the Internet.

[0094] Based on the specifications, standards, best industry practices,and other information obtained from the TC, Manufacturer X procuresread-write RFID tags and interrogators compliant with theabove-described product and scenario requirements (e.g., active or #passive RFID tag, frequency, reader range, temperature sensor built-in,memory size, price point, case material, and bonding requirements).Based on the specifications, standards, best industry practices, andother information obtained from the TC, Shipper Y and Retailer Z eachprocure a number of RFID interrogators (which can be read-only) that arecompliant with the RFID tags of Manufacturer X and the system.

[0095] When Manufacturer X produces a box of products, Manufacturer Xattaches one RFID tag and introduces to the system its uniqueidentifier, allowed temperature ranges, and initial expiration date tothe system. FIG. 4 illustrates this introduction operation. A box ismanufactured and a tag is attached (step 20). The manufacturer'sOIC-connected tag reader senses the tag and reads its UID (step 21). TheOIC generates and sends a SEEN event including the UID to the CMC (step22), which routes it to the CAIC (step 23). If an object for the UID isknown, the CAIC updates the status and status history log of the objectaccording to the input data (“yes” branch of step 24; step 28);otherwise, the CAIC determines whether the event is a NEW physicalobject event (decision step 25). If the event is a NEW object event, theCAIC generates a new physical object for the UID according to thespecified data (step 26) and stores the new object data (step 27).Otherwise, the following actions occur. The CAIC sends an OBJECT UNKNOWNevent for the UID to the CMC (step 46). The CMC routes this event to themanufacturer's production system (step 45), which generates an INTRODUCEphysical object event for the UID with attributes, access rights, rules,and alerts and sends this event to the CMC (step 44). The CMC routesthis event to the OIC (step 43), which generates and sends a NEWphysical object event for the UID to the CMC (step 42). The OIC alsodetermines whether there is a request to write data to the tag (step41). If there is, the OIC writes the data to the tag (step 40). In thisillustration, the data is a “good until” date, a temperature threshold,and a maximum encountered temperature reading (step 40). In any case,the NEW physical object event is routed by the CMC to the CAIC (step 23)for handling as has been described.

[0096] As shown in FIG. 5, when Manufacturer X loads a pallet fordelivery, Manufacturer X attaches an active temperature sensor to thepallet, resets the memory of the sensor and activates it (step 50). Thesensor measures temperature on a time schedule (step 52), saving themeasured temperatures with time stamps to a history log on the tag (step54). If the temperature exceeds the maximum encountered, this newmaximum is also stored on the tag (step 56).

[0097]FIG. 6 illustrates the system's response to the loading of boxesonto the pallet with a sensor (step 60). The manufacturer'sOIC-connected tag reader senses the tags and their UIDs (step 62) andgenerates SEEN events for the UIDs that it sends to the CMC (step 64).The CMC routes these events to the CAIC (step 66). The CAIC updates thestatus and status history log of the objects identified by the sensedUlDs according to the input data from the events (step 68).

[0098] When Shipper Y's OIC-connected readers sense a tag, the CAICupdates the system. FIG. 7 illustrates this update operation. Theshipper's OIC-connected tag reader senses the tags of the boxes on thepallet including the sensor tag, reading their UlDs and Tmax data (step70). The OIC generates and sends SEEN events to the CMC with the data(step 71). The CMC routes the events to the CAIC (step 72). The CAICupdates the status and history log of the corresponding objectsaccording to the received input data (step 73). The CAIC determineswhether the Tmax is within limits (step 74). If not, the CAIC sends analert event to the CMC (“no” branch from step 74; step 75), and the CMCroutes the alert to the manufacturer's and the shipper's ERPapplications (step 76).

[0099] On receipt of the shipment, Retailer Z reads and validates theproducts' actual maximum temperature data from the attached RFID tagsand expiration date. FIG. 8 also illustrates this reading operation.

[0100] When spoiled boxes are detected, they are identified and the CAICalerts the store manager using the HIC component. SMS (Short MessageService) messages, pager messages, or any other convenient form ofmessage transmission, can be used for this purpose. FIG. 8 alsoillustrates this alert operation where a retailer's OIC-connected tagreader senses and reads the UIDs of tags of boxes on a pallet include asensor tag carrying a UID, a maximum temperature T_(max) and atemperature history T_(history) (step 80). The OIC generates and sendsto the CMC SEEN events with the UID, T_(max) and T_(history) information(step 81). The CMC routes the events to the CAIC (step 82). The CAICupdates the status and history log of objects according to the inputdata (step 83). The CAIC also computes a new expiration date for eachbox based on the T_(max) and T_(history) information and themanufacturer's rules (step 84). If the CAIC determines that the box isspoiled (“yes” branch from decision step 85), the CAIC sends an alertevent with UID and T_(max) to the CMC (step 86), which routes the alertto the HIC (step 87). The HIC then sends an SMS message alerting theretail store manager (step 88). Whether or not the box is spoiled, theOIC determines whether there is a request that data be written to thetag (step 89), and if it there is, the CAIC generates and sends WRITEDATA events with the UID and data for the tags to the CMC (step 90). TheCMC routes these events to the OIC (step 91), which writes “good until”and T_(max) data to the tags (step 92).

[0101] The system can receive context information from third partyproviders, for example, traffic or weather information. In general,information can be brought into the system either by having theproviders push the information, or having the system pull theinformation. Having such information enables the system to report orforecast shipping delays or other situations that can affect themovement or condition of introduced articles. FIG. 9 illustrates thisimplemented with the providers feeding information into the system. Inthis illustration, a traffic information provider generates an INTRODUCEcontext object event with a UID and attributes and sends the event tothe CMC (step 120), which routes the event to an OIC (step 122). Thereceiving OIC generates a NEW context object event with UID to the CMC(step 124), which routes the event to the CAIC (step 126). The CAICdetermines that the event is of the type NEW context object event (“yes”branch of decision step 128), generates a new context object for the UIDaccording to the specified data (step 130), and stores the new objectdata (step 132).

[0102] The system can be applied to other scenarios. The system supportsthe development of a range of new and enhanced applications acrossindustries on a local to global scale. Other applications of the systemincludes supply chain management, asset tracking management, securityand access control, transportation, toll collection, point of salesapplications, and baggage handling. These examples are further describedbelow.

[0103] Supply Chain Management

[0104] RFID systems are ideally suited for the identification ofhigh-unit high-value products moving through an assembly process (suchas automobile or agricultural equipment production). RFID systems alsooffer the durability essential for permanent identification of productcarriers such as boxes, crates, and pallets. Other applications withinsupply chain management include work-in-progress tracking and parceldelivery.

[0105] Asset Tracking and Management

[0106] Asset tracking and management applications include those formonitoring the flow of equipment, people, and documents within a spacesuch as a building, yard, or terminal, for example, to tighten controlover assets and keep good track of articles, including individuals.Specific applications within asset management include: Records/documenttracking, people tracking, yard management, and equipment tracking.

[0107] Security and Access Control

[0108] The movement and use of valuable equipment and personnelresources can be monitored through transponders attached to equipment orcarried by the equipment or personnel. Transponders can also be embeddedin credit card size security badges. Home security call systems andbuilding access are two examples of security and access controlapplications.

[0109] Transportation

[0110] Transponders can be attached to vehicles (e.g., aircraft, railcars, trucks) and can contain important information about the vehicleand its contents. Transportation applications include aircraftidentification, rail car and shipping container tracking, publictransportation ticketing, and weigh station applications.

[0111] Toll Collection

[0112] Toll collection applications involve attaching a transponder to avehicle. The transponder transmits a code, which identifies a prepaidaccount, to a reader which automatically deducts the toll from theprepaid account.

[0113] Point of Sale

[0114] These applications include electronic surveillance of retailitems, forgery prevention, and sales transactions and usually involvetagging individual retail items with low cost transponders, which areessentially active tags.

[0115] Baggage Handling

[0116] In a baggage handling application, airline luggage is tagged withRFID transponders such as smart labels to allow airline baggage handlingoperations to track baggage from the moment a traveler checks into anairport to the moment the traveler reaches his final destination.

CONCLUSION

[0117] The invention has been described in terms of particularembodiments. Other embodiments are within the scope of the claims. Forexample, the steps of the invention can be performed in a differentorder and still achieve desirable results. The system is flexible andoffers many business methods for tracking articles. In one method, oneor more customers subscribe to the system, which is provided by aservice provider who distributes the services over a network such as theInternet. In this case, the customers need not procure components or theentire system, thereby saving capital costs. Alternatively, thecustomers procure components of or the entire system, thereby savingoperational cost. Alternatively, the system can support any combinationof the described business methods. For example, some customer cansubscribe to the system and some customer can procure components or theentire system.

What is claimed is:
 1. A method for context-aware and real-time trackingof articles, comprising: receiving multiple instances of tag-read-data,each instance including information read from a tag bound to an article,the information read including a unique digital identifier readautomatically from the tag, each instance also including statusinformation including a location of the corresponding tag and its boundarticle when the unique identifier was read from the tag, the multipleinstances of tag-read-data collectively including information read fromtags bound to multiple articles; receiving one or more instances ofcontext information, each instance describing an associated non-taggablephysical circumstance, the context information indicating a statusincluding a location of the circumstance, the multiple instances ofcontext information collectively including information describingmultiple circumstances; using the received tag-read-data and contextinformation to maintain physical objects and context objects in avirtual world, the physical objects including an object for each of themultiple articles and the context objects including an object for eachof the multiple circumstances, each of the objects representing thestatus of its corresponding article or circumstance; and detectinginteractions occurring in the virtual world between the circumstancesand the articles as represented by the objects.
 2. The method of claim1, wherein: the information in the virtual world about the articles andcircumstances is mapped to virtual-world-wide standardized dimensions oftime, three-dimensional space, and unique identity, whereby the articlesand circumstances can be tracked relative to each other through spaceand time.
 3. The method of claim 1, further comprising: generating analert for a user of the virtual world whenever a detected interaction isdetermined to affect any of the multiple articles, where the user is ahuman being or a computer program.
 4. The method of claim 1, furthercomprising: maintaining in the virtual world a representation of acurrent location of each of the articles and a representation of acurrent location of each of the circumstances, the representations eachreflecting most recently received tag-read-data and context information.5. The method of claim 4, further comprising: representing locations andcircumstances by latitudes, longitudes, and altitudes.
 6. The method ofclaim 4, further comprising: maintaining a history of the locations ofarticles and a history of the locations of the circumstances.
 7. Themethod of claim 5, further comprising: deriving a prediction from thevirtual world of a future location of at least one of the articles basedon the history of the locations of articles.
 8. The method of claim 7,further comprising: deriving the prediction of the future location alsobased on the history of the locations of the circumstances.
 9. Themethod of claim 1, further comprising: maintaining in the virtual worlda representation of a current state of each of the articles and arepresentation of a current state of each of the circumstances, therepresentations each reflecting most recently received tag-read-data andcontext information.
 10. The method of claim 9, further comprising:maintaining a history of the states of articles and a history of thestates of the circumstances.
 11. The method of claim 10, furthercomprising: deriving a prediction from the virtual world of a futurestate for at least one of the articles based on the history of thestates of articles.
 12. The method of claim 11, further comprising:deriving the prediction of the future state also based on the history ofthe states of the circumstances.
 13. The method of claim 2 or claim 9,further comprising: associating time stamps with each instance oftag-read-data and context information, each time stamp beingsynchronized to a single standard.
 14. The method of claim 1, wherein:the non-taggable circumstances include a weather-related circumstance;and the location of the weather-related circumstance is described by atleast a latitude, longitude, and altitude.
 15. The method of claim 1,wherein: the non-taggable circumstances include a traffic accident; andthe location of the traffic accident is described by at least alatitude, longitude, and altitude.
 16. The method of claim 1, furthercomprising: receiving one or more instances of hierarchy information,each instance describing a hierarchy among articles represented in thevirtual world; and using the received hierarchy information to maintainin the virtual world context objects each representing one of thehierarchies.
 17. The method of claim 16, wherein: at least one of thehierarchies is a relationship among articles in which some particulararticles are contained within another article.
 18. The method of claim1, further comprising: receiving sensor information obtained from asensor associated with a first article; and updating a first physicalobject for the first article with the sensor information.
 19. The methodof claim 1, wherein receiving instances of context informationcomprises: receiving instances of context information from externalsystems.
 20. The method of claim 1, wherein receiving instances ofcontext information comprises: receiving instances of contextinformation, where the instances include telemetry data from a sensorassociated with a particular location.
 21. The method of claim 20,further comprising: receiving telemetry data generated by a sensorassociated with a particular point or area and representing acircumstance located at the particular point or area; and generating analert for a user of the virtual world when the virtual world detectsthat an article that would be affected by the circumstance representedby the telemetry data is at or in the point or area, as represented inthe virtual world, where the user is a human being or a computerprogram.
 22. The method of claim 20, further comprising: receivingtemperature data generated by a temperature sensor associated with aparticular point or area and representing the current temperature of thepoint or area in a context object in the virtual world; and generatingan alert for a user of the virtual world when the virtual world detectsthat an article that would be affected by the current temperature is ator in the point or area, as the article and current temperature arerepresented in the virtual world, where the user is a human being or acomputer program.
 23. The method of claim 1, further comprising:attaching a temperature exception to a physical object, and causing anaction to occur when the temperature exception is satisfied.
 24. Themethod of claim 23, wherein: the action comprises generating an alertfor a user, where the user is a human being or a computer program. 25.The method of claim 1, further comprising: attaching a rule to aphysical object, the rule being operable to trigger alert events orcause actions depending on current information in the virtual world. 26.The method of claim 1, further comprising: attaching a rule to a contextobject, the rule being operable to trigger alert events or cause actionsdepending on current information in the virtual world.
 27. The method ofclaim 1, further comprising: receiving, processing, and responding to aquery concerning the status of an article at a current or past time asthe article is or was represented in the virtual world.
 28. The methodof claim 27, further comprising: receiving, processing, and respondingto a query concerning the status of articles having a particularrelationship to a particular article at a current or past time as thearticles and particular article are or were represented in the virtualworld.
 29. A computer product, tangibly stored on a computer-readablemedium, for context-aware and real time tracking of articles, theproduct comprising instructions operable to cause a programmableprocessor to: receive multiple instances of tag-read-data, each instanceincluding information read from a tag bound to an article, theinformation read including a unique digital identifier readautomatically from the tag, each instance also including statusinformation including a location of the corresponding tag and its boundarticle when the unique identifier was read from the tag, the multipleinstances of tag-read-data collectively including information read fromtags bound to multiple articles; receive one or more instances ofcontext information, each instance describing an associated non-taggablephysical circumstance, the context information indicating a statusincluding a location of the circumstance, the multiple instances ofcontext information collectively including information describingmultiple circumstances; use the received tag-read-data and contextinformation to maintain physical objects and context objects in avirtual world, the physical objects including an object for each of themultiple articles and the context objects including an object for eachof the multiple circumstances, each of the objects representing thestatus of its corresponding article or circumstance; and detectinteractions occurring in the virtual world between the circumstancesand articles as represented by the objects.
 30. The product of claim 29,wherein: the information in the virtual world about the articles andcircumstances is mapped to virtual-world-wide standardized dimensions oftime, three-dimensional space, and unique identity, whereby the articlesand circumstances can be tracked relative to each other through spaceand time.
 31. The product of claim 29, further comprising instructionsto: generate an alert for a user of the virtual world whenever adetected interaction is determined to affect any of the multiplearticles, where the user is a human being or a computer program.
 32. Theproduct of claim 29, further comprising instructions to: maintain in thevirtual world a representation of a current location of each of thearticles and a representation of a current location of each of thecircumstances, the representations each reflecting most recentlyreceived tag-read-data and context information.
 33. The product of claim32, further comprising instructions to: maintain a history of thelocations of articles and a history of the locations of thecircumstances.
 34. The product of claim 32, further comprisinginstructions to: represent locations and circumstances by latitudes,longitudes, and altitudes.
 35. The product of claim 33, furthercomprising instructions to: derive a prediction from the virtual worldof a future location of at least one of the articles based on thehistory of the locations of articles.
 36. The product of claim 35,further comprising instructions to: deriving the prediction of thefuture location also based on the history of the locations of thecircumstances.
 37. The product of claim 29, further comprisinginstructions to: maintain in the virtual world a representation of acurrent state of each of the articles and a representation of a currentstate of each of the circumstances, the representations each reflectingmost recently received tag-read-data and context information.
 38. Theproduct of claim 37, further comprising instructions to: maintain ahistory of the states of articles and a history of the states of thecircumstances.
 39. The product of claim 38, further comprisinginstructions to: derive a prediction from the virtual world of a futurestate for at least one of the articles based on the history of thestates of articles.
 40. The product of claim 39, further comprisinginstructions to: deriving the prediction of the future state also basedon the history of the states of the circumstances.
 41. The product ofclaim 32 or claim 37, further comprising instructions to: associate timestamps with each instance of tag-read-data and context information, eachtime stamp being synchronized to a single standard.
 42. The product ofclaim 29, wherein: the non-taggable circumstances include aweather-related circumstance; and the location of the weather-relatedcircumstance is described by at least a latitude, longitude, andaltitude.
 43. The product of claim 29, wherein: the non-taggablecircumstances include a traffic accident; and the location of thetraffic accident is described by at least a latitude, longitude, andaltitude.
 44. The product of claim 29, further comprising instructionsto: receive one or more instances of hierarchy information, eachinstance describing a hierarchy among articles represented in thevirtual world; and use the received hierarchy information to maintain inthe virtual world context objects each representing one of thehierarchies.
 45. The product of claim 44, wherein: at least one of thehierarchies is a relationship among articles in which some particulararticles are contained within another article.
 46. The product of claim29, further comprising instructions to: receive sensor informationobtained from a sensor associated with a first article; and update afirst physical object for the first article with the sensor information.47. The product of claim 29, wherein instructions to receive instancesof context information comprise instructions to: receive instances ofcontext information from external systems.
 48. The product of claim 29,wherein instructions to receive instances of context informationcomprise instructions to: receive instances of context information,where the instances include telemetry data from a sensor associated witha particular location.
 49. The product of claim 48, further comprisinginstructions to: receive telemetry data generated by a sensor associatedwith a particular point or area and represent a circumstance located atthe particular point or area; and generate an alert for a user of thevirtual world when the virtual world detects that an article that wouldbe affected by the circumstance represented by the telemetry data is ator in the point or area, as represented in the virtual world, where theuser is a human being or a computer program.
 50. The product of claim48, further comprising instructions to: receive temperature datagenerated by a temperature sensor associated with a particular point orarea and representing the current temperature of the point or area in acontext object in the virtual world; and generate an alert for a user ofthe virtual world when the virtual world detects that an article thatwould be affected by the current temperature is at or in the point orarea, as the article and current temperature are represented in thevirtual world, where the user is a human being or a computer program.51. The product of claim 29, further comprising instructions to: attacha temperature exception to a physical object, and cause an action tooccur when the temperature exception is satisfied.
 52. The product ofclaim 51, wherein: the action comprises generating an alert for a user,where the user is a human being or a computer program.
 53. The productof claim 29, further comprising instructions to: attach a rule to aphysical object, the rule being operable to trigger alert events orcause actions depending on current information in the virtual world. 54.The product of claim 29, further comprising instructions to: attach arule to a context object, the rule being operable to trigger alertevents or cause actions depending on current information in the virtualworld.
 55. The product of claim 29, further comprising instructions to:receive, process, and respond to a query concerning the status of anarticle at a current or past time as the article is or was representedin the virtual world.
 56. The product of claim 55, further comprisinginstructions to: receive, process, and respond to a query concerning thestatus of articles having a particular relationship to a particulararticle at a current or past time as the articles and particular articleare or were represented in the virtual world.
 57. A system, forcontext-aware and real-time tracking of articles, comprising: means forreceiving multiple instances of tag-read-data, each instance includinginformation read from a tag bound to an article, the information readincluding a unique digital identifier read automatically from the tag,each instance also including status information including a location ofthe corresponding tag and its bound article when the unique identifierwas read from the tag, the multiple instances of tag-read-datacollectively including information read from tags bound to multiplearticles; means for receiving one or more instances of contextinformation, each instance describing an associated non-taggablephysical circumstance, the context information indicating a statusincluding a location of the circumstance, the multiple instances ofcontext information collectively including information describingmultiple circumstances; means for using the received tag-read-data andcontext information to maintain physical objects and context objects ina virtual world, the physical objects including an object for each ofthe multiple articles and the context objects including an object foreach of the multiple circumstances, each of the objects representing thestatus of its corresponding article or circumstance; and means fordetecting interactions occurring in the virtual world between thecircumstances and the articles as represented by the objects.
 58. Thesystem of claim 57, wherein: the information in the virtual world aboutthe articles and circumstances is mapped to virtual-world-widestandardized dimensions of time, three-dimensional space, and uniqueidentity, whereby the articles and circumstances can be tracked relativeto each other through space and time.
 59. The system of claim 57,further comprising: means for generating an alert for a user of thevirtual world whenever a detected interaction is determined to affectany of the multiple articles, where the user is a human being or acomputer program.
 60. The system of claim 57, further comprising: meansfor maintaining in the virtual world a representation of a currentlocation of each of the articles and a representation of a currentlocation of each of the circumstances, the representations eachreflecting most recently received tag-read-data and context information.61. The system of claim 60, further comprising: means for representinglocations and circumstances by latitudes, longitudes, and altitudes. 62.The system of claim 60, further comprising: means for maintaining ahistory of the locations of articles and a history of the locations ofthe circumstances.
 63. The system of claim 62, further comprising: meansfor deriving a prediction from the virtual world of a future location ofat least one of the articles based on the history of the locations ofarticles.
 64. The system of claim 63, further comprising: means forderiving the prediction of the future location also based on the historyof the locations of the circumstances.
 65. The system of claim 57,further comprising: means for maintaining in the virtual world arepresentation of a current state of each of the articles and arepresentation of a current state of each of the circumstances, therepresentations each reflecting most recently received tag-read-data andcontext information.
 66. The system of claim 65, further comprising:means for maintaining a history of the states of articles and a historyof the states of the circumstances.
 67. The system of claim 66, furthercomprising: means for deriving a prediction from the virtual world of afuture state for at least one of the articles based on the history ofthe states of articles.
 68. The system of claim 67, further comprising:means for deriving the prediction of the future state also based on thehistory of the states of the circumstances.
 69. The system of claim 58or claim 65, further comprising: means for associating time stamps witheach instance of tag-read-data and context information, each time stampbeing synchronized to a single standard.
 70. The system of claim 57,wherein: the non-taggable circumstances include a weather-relatedcircumstance; and the location of the weather-related circumstance isdescribed by at least a latitude, longitude, and altitude.
 71. Thesystem of claim 57, wherein: the non-taggable circumstances include atraffic accident; and the location of the traffic accident is describedby at least a latitude, longitude, and altitude.
 72. The system of claim57, further comprising: means for receiving one or more instances ofhierarchy information, each instance describing a hierarchy amongarticles represented in the virtual world; and means for using thereceived hierarchy information to maintain in the virtual world contextobjects each representing one of the hierarchies.
 73. The system ofclaim 72, wherein: at least one of the hierarchies is a relationshipamong articles in which some particular articles are contained withinanother article.
 74. The system of claim 57, further comprising: meansfor receiving sensor information obtained from a sensor associated witha first article; and means for updating a first physical object for thefirst article with the sensor information.
 75. The system of claim 57,wherein the means for receiving instances of context informationcomprises: receiving instances of context information from externalsystems.
 76. The system of claim 57, wherein the means for receivinginstances of context information comprises: means for receivinginstances of context information, where the instances include telemetrydata from a sensor associated with a particular location.
 77. The systemof claim 76, further comprising: means for receiving telemetry datagenerated by a sensor associated with a particular point or area andrepresenting a circumstance located at the particular point or area; andmeans for generating an alert for a user of the virtual world when thevirtual world detects that an article that would be affected by thecircumstance represented by the telemetry data is at or in the point orarea, as represented in the virtual world, where the user is a humanbeing or a computer program.
 78. The system of claim 76, furthercomprising: means for receiving temperature data generated by atemperature sensor associated with a particular point or area andrepresenting the current temperature of the point or area in a contextobject in the virtual world; and means for generating an alert for auser of the virtual world when the virtual world detects that an articlethat would be affected by the current temperature is at or in the pointor area, as the article and current temperature are represented in thevirtual world, where the user is a human being or a computer program.79. The system of claim 57, further comprising: means for attaching atemperature exception to a physical object, and means for causing anaction to occur when the temperature exception is satisfied.
 80. Thesystem of claim 79, wherein: the action comprises generating an alertfor a user, where the user is a human being or a computer program. 81.The system of claim 57, further comprising: means for attaching a ruleto a physical object, the rule being operable to trigger alert events orcause actions depending on current information in the virtual world. 82.The system of claim 57, further comprising: means for attaching a ruleto a context object, the rule being operable to trigger alert events orcause actions depending on current information in the virtual world. 83.The system of claim 57, further comprising: means for receiving,processing, and responding to a query concerning the status of anarticle at a current or past time as the article is or was representedin the virtual world.
 84. The system of claim 83, further comprising:means for receiving, processing, and responding to a query concerningthe status of articles having a particular relationship to a particulararticle at a current or past time as the articles and particular articleare or were represented in the virtual world.